package com.smedi.ismedi.inmail.api.dto.request;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.List;

/**
 * 通知公告管理查询请求
 *
 * @author niuyanling
 * @date 2021/07/27
 */
@Data
@ApiModel(value = "通知公告管理查询请求")
public class QueriedAnnouncementManagementRequest implements Serializable {
    @ApiModelProperty(value = "通知公告标题")
    @Size(max = 50)
    private String title;

    @ApiModelProperty(value = "发布人名称")
    @Size(max = 50)
    private String publishUserName;

    @ApiModelProperty(value = "起始日期", example = "2021-08-06 20:00:38")
    private String startDate;

    @ApiModelProperty(value = "终止日期", example = "2021-08-06 21:00:38")
    private String endDate;

    @ApiModelProperty(value = "发布单位名称")
    @Size(max = 50)
    private String hrOrganizationName;

    @ApiModelProperty(value = "当前用户是否为总院层级", required = true)
    @NotNull(message = "用户总院角色不为空！")
    private boolean superiorOrganizationLevel;

    @ApiModelProperty(value = "当前用户是否为主体院层级", required = true)
    @NotNull(message = "用户主体院角色不为空！")
    private boolean organizationLevel;

    @ApiModelProperty(value = "主体院下属项目")
    private List<String> projectNameList;

    @ApiModelProperty(value = "当前页码", example = "1", required = true)
    @NotNull(message = "当前页码不能为空")
    private int pageNum;

    @ApiModelProperty(value = "每页行数", example = "10", required = true)
    @NotNull(message = "每页行数不能为空")
    private int pageSize;

    @ApiModelProperty(value = "是否取交集", example = "false", required = true)
    @NotNull(message = "是否取交集不能为空")
    private boolean intersection;
}
